﻿/// <reference path="jquery-1.6.1.min.js" />

var xmlHTTP;
var idName;
var pageC = 0;

var arrBack = new Array();
var arrForward = new Array();

//Việc đầu tiên là tạo đối tượng XMLHttpRequest
function Create() {
    try {
        // Firefox, Opera 8.0+, Safari 
        xmlHTTP = new XMLHttpRequest();
    }
    catch (e) {
        // Internet Explorer 
        try {
            xmlHTTP = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch (e) {
            try {
                xmlHTTP = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (e) {
                alert('Your browser does not support AJAX!');
                return false;
            }
        }
    }
}

//Phương thức này nhận vào dữ liệu gởi về từ server và 
//đưa vào vị trí có idName trên trình duyệt
function FillText(text, idName) {

    $('#' + idName).fadeOut(200);
    var id = document.getElementById(idName);
    id.innerHTML = text;
    $('#' + idName).fadeIn(400);
    var arr = $('#' + idName).find('script');
    for (var n = 0; n < arr.length; n++)
        eval(arr[n].innerHTML);
}

//Phương thức này kiểm tra trạng thái của xmlHTTP và là những công việc tương ứng
function Process() {    

    if (xmlHTTP.readyState == 1) {
        $('#loading img').css('margin-top', ($(window).height() - 112) / 2);
        $("#loading").show();
    }

    if (xmlHTTP.readyState == 4) {
        $("#loading").hide();
        FillText(xmlHTTP.responseText, idName);

        //=========================
        $('td > img').attr('width', '150px');
        $('td > img').attr('height', '150px');
        $('td > img').attr('src', 'Image/News/100127042317.jpg').load(function () {
            $(this).fadeIn(0);
            $(this).hover(function () {
                $(this).animate({ width: 180 }, 200);
            }, function () {
                $(this).animate({ width: 150 }, 200);
            });
        });
        //=========================
    }
}

function ProcessUrl(url, name) {
    idName = name;
    if (xmlHTTP) { //Nếu đối tượng XMLHttpRequest tồn tại

        //giữ lại trang hiện tải dùng cho phần back
        //arr[i++] = document.getElementById('fill_contents').innerHTML;
        PushBack(document.getElementById('fill_contents').innerHTML);
        if (arrBack.length != 0)
            $("#back").show();
        //

        xmlHTTP.onreadystatechange = Process;
        xmlHTTP.open('GET', url, true);
        xmlHTTP.send(null);
    }    
}

//=========================================================

//Phương thức dùng cho việc phân trang dữ liệu
function FilterPainning(page, idFill, t) {
    //url là trang trung gian xử lý yêu cầu của client ở server 

    var url = "ProcessAJAX/ProcessPanning.aspx?page=" + page + "&Type=" + t;
    Create();
    ProcessUrl(url, idFill);
}

function LinkActive(obj) {
    //alert(obj)
    $('.link_painning a').css('color', 'black');
    $(obj).css('color', 'red');
}

//Phương thức dùng cho việc load dữ liệu phần danh mục
function FilterDataCategorize(DocumentCatID, strCat, curnetPage, idfill) {

    var url = "ProcessAJAX/ProcessCat.aspx?DocumentCatID=" + DocumentCatID + "&strCat=" + strCat + "&curentPage=" + curnetPage;
    Create();
    ProcessUrl(url, idfill);
}

//Phương thức dùng cho việc load dữ liệu phần docurmnet deatails
function FilterDataDocumentDetail(DocumentCatID) {
    //alert(DocumentCatID);
    var url = "ProcessAJAX/ProccessDocumentDetail.aspx?DocumentID=" + DocumentCatID;
    Create();
    ProcessUrl(url, 'fill_contents');
}

//Phương thức dùng cho việc load dữ liệu phần giới thiệu
function FilterDataIntro(ID) {
    debugger;
    var url = "/ProcessAJAX/ProcessIntro.aspx?ID=" + ID;
    Create();
    ProcessUrl(url, 'fill_contents');
}
function FilterControl(ID) {
    debugger;
    var url = "/ProcessAJAX/LoadAccount.aspx?ID=" + ID;
    Create();
    ProcessUrl(url, 'fill_contents');
}

//Phương thức dùng cho việc load dữ liệu phần Notice
function FilterDataNotice(noticeID, pageCurent, pageCount) {
    
    pageC = pageCurent;
    var url = "ProcessAJAX/ProcessNotice.aspx?NoticeID=" + noticeID + "&Page=" + pageCurent + "&pageCount=" + pageCount;
    Create();
    ProcessUrl(url, 'fill_contents');    
}

//Phương thức dùng cho việc load dữ liệu phần News
function FilterDataNews(newsID, pageCurent, pageCount) {

    pageC = pageCurent;
    var url = "ProcessAJAX/ProcessNews.aspx?NewsID=" + newsID + "&Page=" + pageCurent + "&pageCount=" + pageCount;
    Create();
    ProcessUrl(url, 'fill_contents');
    //window.dh

}

//========================================================
//Xử lý back
function ProcessBack() {

    $("#back").click(function () {
        if (arrBack.length != 0) {
            PushForward(document.getElementById('fill_contents').innerHTML);
            var t = PopBack();
            if (t != "") {
                document.getElementById('fill_contents').innerHTML = t;
            }
            $("#reBack").show();
        }
    });
}

//lấy text trong stack 
function PopBack() {
    if (arrBack.length == 0) {
        return "";
    }

    var t = arrBack[arrBack.length - 1];
    var arrt = new Array();
    for (var j = 0; j < arrBack.length - 1; j++) {
        arrt[j] = arrBack[j];
    }

    arrBack = arrt;
    if (arrBack.length == 0)
        $("#back").hide();
    return t;
}

function PushBack(text) {
    arrBack[arrBack.length] = text;
}

//=======================
//Xử lý reback
function ProcessForward() {
    $("#reBack").click(function () {
        if (arrForward.length != 0) {
            PushBack(document.getElementById('fill_contents').innerHTML);
            //alert("vao");
            var t = PopForward();
            if (t != "") {
                document.getElementById('fill_contents').innerHTML = t;
            }
            $("#back").show();
        }
    });
}


function PopForward () {
    if (arrForward.length == 0) {
        return "";
    }

    var t = arrForward[arrForward.length - 1];
    var arrt = new Array();
    for (var j = 0; j < arrForward.length - 1; j++) {
        arrt[j] = arrForward[j];
    }

    arrForward = arrt;
    if (arrForward.length == 0)
        $("#reBack").hide();
    return t;
}

function PushForward(text) {
    arrForward[arrForward.length] = text;
}

//Phương thức hiển thị hai button back và reback